/**
 * Yolema.com Inc.
 * Copyright (c) 2011-2012 All Rights Reserved.
 */
package org.grayrabbit.pay.facade;

import org.grayrabbit.pay.facade.bean.ChinapnrTrade;
import org.grayrabbit.pay.facade.common.Result;
import org.grayrabbit.pay.facade.common.TradeConstants.RefundCode;
import org.grayrabbit.pay.facade.common.TradeConstants.TradeCode;

/**
 * 汇付交易客户端
 * 
 * @author wy
 * @version $Id: ChinapnrClient.java, v 0.1 2012-11-6 下午4:03:03 wy Exp $
 */
public interface ChinapnrClient {

    /**
     * 获取支付结果状态,汇付
     * 
     * @param chinapnrTrade
     * @return
     */
    public Result<TradeCode> payResult(ChinapnrTrade chinapnrTrade);

    /**
     * 发起交易,汇付
     * 
     * @param chinapnrTrade
     * @return
     */
    public Result<TradeCode> getChinapnrPay(ChinapnrTrade chinapnrTrade);
    
    
    /**
     * 发起退款
     * 
     * @param chinapnrTrade
     * @return
     */
    public Result<RefundCode> refundTrade(ChinapnrTrade chinapnrTrade);

}
